#
#The contents of this file are subject to the Mozilla Public License Version 1.1 
#(the "License"); you may not use this file except in compliance with the License.
#You may obtain a copy of the License at http://www.mozilla.org/MPL/
#
#Software distributed under the License is distributed on an "AS IS" basis, 
#WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
#specific language governing rights and limitations under the License.
#
#The Original Code is Lepton.
#
#The Initial Developer of the Original Code is Philippe Le Boulanger.
#Portions created by Philippe Le Boulanger are Copyright (C) 2011 <lepton.phlb@gmail.com>.
#All Rights Reserved.
#
#Contributor(s): Jean-Jacques Pitrolle <lepton.jjp@gmail.com>.
#
#Alternatively, the contents of this file may be used under the terms of the eCos GPL license 
#(the  [eCos GPL] License), in which case the provisions of [eCos GPL] License are applicable 
#instead of those above. If you wish to allow use of your version of this file only under the
#terms of the [eCos GPL] License and not to allow others to use your version of this file under 
#the MPL, indicate your decision by deleting  the provisions above and replace 
#them with the notice and other provisions required by the [eCos GPL] License. 
#If you do not delete the provisions above, a recipient may use your version of this file under 
#either the MPL or the [eCos GPL] License."
#

#python module
import os, platform

#Help for scons file
Help("""
mklepton construction file
clean, compile then install mklepton
scons -c; scons -Q install
you must use mklepton_gnu.sh in tauon/tools/bin
""")

#directory
base_dir = os.getenv('HOME') + '/tauon/'
lib_kernel_dir = base_dir + 'sys/root/prj/scons/arch/synthetic/x86_static/bin'
src_dir = base_dir + 'tools/mklepton/src/'
bin_install_dir = base_dir + 'tools/bin/'

#what compiler to use
tuple_uname = os.uname()
arch = tuple_uname[len(tuple_uname)-1]

if arch.find('64') > 0:
   mklepton_env = Environment(ENV = os.environ, CC='i386-lenny-gcc')
else:
   #link problem
   if platform.dist()[2] == "oneiric":
      mklepton_env = Environment(ENV = os.environ, CC='gcc-4.4')
   else:
      mklepton_env = Environment(ENV = os.environ, CC='gcc')

#add CFLAGS options
mklepton_env.Append(CCFLAGS = '-g -O0 -Wall -gdwarf-2 -g3')

#add LDFLAGS options
mklepton_env.Append(LINKFLAGS = '-lexpat -L' + lib_kernel_dir + ' -lkernel -Wl,-rpath,' + lib_kernel_dir)

#Make object file
mklepton_src = src_dir + 'mklepton.c'
mklepton_obj = mklepton_src.replace('.c','.o')
mklepton_obj_node = mklepton_env.Object(mklepton_obj,mklepton_src)

#And program
mklepton_bin = mklepton_env.Program('mklepton_gnu', mklepton_obj_node)

#We install program is right place
mklepton_env.Install(bin_install_dir, mklepton_bin)
mklepton_env.Alias('install', bin_install_dir)

